﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MGI.AccesoDatos.DataTypes;
using ComunesMGI.DataTypes;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace MGI.AccesoDatos.AccesoBD
{
    class BDSistemas
    {
        public List<DataSistema> GetSistemasBD(int cliCod)
        {
            string nombre = "";
            int codigo = 0;
            string sitio = "";
            List<DataSistema> listaSistemas = new List<DataSistema>();
            string textoConexion = ConfigurationManager.AppSettings.Get("stringConection");
            string urlSharepoint = ConfigurationManager.AppSettings.Get("urlSharepoint");
            SqlConnection cnn = new SqlConnection(textoConexion);

            string consulta = "getSistemas";
            SqlCommand cmd = new SqlCommand(consulta, cnn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter par = new SqlParameter("@CliCod", cliCod);
            cmd.Parameters.Add(par);
            SqlDataReader lector;
            try
            {
                cnn.Open();
                lector = cmd.ExecuteReader();

                while (lector.Read())
                {
                    nombre = (string)lector["SisNom"];
                    codigo = (int)lector["SisCod"];
                    sitio = urlSharepoint + (string)lector["SisSit"];
                    DataSistema sistema = new DataSistema(codigo, nombre, sitio);
                    listaSistemas.Add(sistema);
                }

            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos: " + ex.Message);
            }
            finally
            {
                cnn.Close();
            }
            return listaSistemas;
        }

       
        public DataSistema GetSistemaBD(int codSistema)
        {
            string nombre = "";
            int codigo = 0;
            string sitio = "";
            int codCliente = -1;
            string textoConexion = ConfigurationManager.AppSettings.Get("stringConection");
            string urlSharepoint = ConfigurationManager.AppSettings.Get("urlSharepoint");
            SqlConnection cnn = new SqlConnection(textoConexion);

            string consulta = "getSistemasPorCod";
            SqlCommand cmd = new SqlCommand(consulta, cnn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter par = new SqlParameter("@SisCod", codSistema);
            cmd.Parameters.Add(par);
            SqlDataReader lector;
            DataSistema sistema= null;

            try
            {
                cnn.Open();
                lector = cmd.ExecuteReader();

                while (lector.Read())
                {
                    nombre = (string)lector["SisNom"];
                    codigo = (int)lector["SisCod"];
                    sitio = urlSharepoint + (string)lector["SisSit"];
                    codCliente = (int)lector["CliCod"];
                    sistema = new DataSistema(codigo, nombre, sitio, codCliente);
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos: " + ex.Message);
            }
            finally
            {
                cnn.Close();
            }
            return sistema;        
        }
    }
}
